home *** CD-ROM | disk | FTP | other *** search
/ Aminet 50 / Aminet 50 (2002)(GTI - Schatztruhe)[!][Aug 2002].iso / Aminet / util / libs / mpega_libmad.lha / mpega_libmad / Makefile < prev    next >
Makefile  |  2002-02-15  |  3KB  |  70 lines

  1. CC_OPTS = -O2 -fomit-frame-pointer -noixemul -nostartfiles $(CFLAGS)
  2. CPP_OPTS = -I./mad -DHAVE_CONFIG_H -DNDEBUG $(FPM)
  3. MAD_OPTS = -Wall -O -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fstrength-reduce -fschedule-insns -fomit-frame-pointer $(CFLAGS)
  4. RM = rm -f
  5. MV = mv -f
  6.  
  7. PROGNAME = mpega.library
  8.  
  9. LIB_SRC = library_init.c
  10. LIB_OBJ = $(LIB_SRC:.c=.o)
  11.  
  12. PUP_SRC = support_pup.c
  13. PUP_OBJ = $(PUP_SRC:.c=.o)
  14.  
  15. STARTUP_SRC = startup_pup.c
  16. STARTUP_OBJ = $(STARTUP_SRC:.c=.o)
  17.  
  18. WRAP_SRC = support.c wrap_mpega.c
  19. WRAP_OBJ = $(WRAP_SRC:.c=.o)
  20.  
  21. MAD_SRC = mad/equalizer.c mad/resample.c mad/xing.c mad/fixed.c mad/bit.c mad/timer.c mad/stream.c mad/frame.c mad/synth.c mad/layer12.c mad/layer3.c mad/huffman.c
  22. MAD_OBJ = $(MAD_SRC:.c=.o)
  23.  
  24. %.o: %.c 
  25.     $(CC) $(CPP_OPTS) $(CC_OPTS) -c $< -o $@
  26.  
  27. all: $(PROGNAME)_040 $(PROGNAME)_PPC
  28.  
  29. mad_build: $(MAD_OBJ)
  30.  
  31. mad.stmp:
  32.     $(MAKE) mad_build "CC_OPTS = \$$(MAD_OPTS)"
  33.  
  34. $(PROGNAME): $(LIB_OBJ) $(WRAP_OBJ) mad.stmp
  35.     $(CC) -o $@ $(LIB_OBJ) $(WRAP_OBJ) $(MAD_OBJ) $(CC_OPTS)
  36.  
  37. $(PROGNAME)_ELF: $(LIB_OBJ) $(WRAP_OBJ) mad.stmp
  38. #    ppc-morphos-ld -r -o $(PROGNAME) $(LIB_OBJ) $(WRAP_OBJ) $(MAD_OBJ)
  39.     ppc-morphos-ld -o $(PROGNAME) $(LIB_OBJ) $(WRAP_OBJ) $(MAD_OBJ)
  40.  
  41. elfobject.o: $(STARTUP_OBJ) $(WRAP_OBJ)
  42.     ppc-morphos-ld -r -o elfobject.elf $(STARTUP_OBJ) $(WRAP_OBJ) $(MAD_OBJ)
  43.     ppc-morphos-strip --strip-unneeded --keep-symbol __LibFuncTable --remove-section .comment elfobject.elf
  44.     Data2Object elfobject.elf elfobject.o SECTION elf SYMBOL __ElfObject
  45.  
  46. $(PROGNAME)_PUP: $(LIB_OBJ) $(PUP_OBJ)
  47.     $(CC) -o $(PROGNAME) $(LIB_OBJ) $(PUP_OBJ) elfobject.o $(CC_OPTS)
  48.  
  49. $(PROGNAME)_040:
  50.     $(MAKE) $(PROGNAME) "CC = m68k-amigaos-gcc" "CFLAGS = -m68040" "FPM = -DFPM_DEFAULT -DOPT_SPEED -DOPT_SSO"
  51. #    $(MAKE) $(PROGNAME) "CC = m68k-amigaos-gcc" "CFLAGS = -m68040" "FPM = -DFPM_M68K -DOPT_SPEED -DOPT_SSO"
  52.     m68k-amigaos-strip --strip-unneeded --remove-section .comment $(PROGNAME)
  53.     -$(MV) $(PROGNAME) $(PROGNAME).040
  54.     -$(RM) $(LIB_OBJ) $(WRAP_OBJ) $(MAD_OBJ)
  55.  
  56. $(PROGNAME)_PPC:
  57.     $(MAKE) $(PROGNAME)_ELF "CC = ppc-morphos-gcc" "CFLAGS = -mcpu=603e -mmultiple" "FPM = -DFPM_PPC -DOPT_ACCURACY -DBUILD_MORPHOS"
  58.     ppc-morphos-strip --strip-unneeded --remove-section .comment $(PROGNAME)
  59.     -$(MV) $(PROGNAME) $(PROGNAME).elf
  60.     -$(RM) $(LIB_OBJ) $(WRAP_OBJ)
  61.     $(MAKE) elfobject.o "CC = ppc-morphos-gcc" "CFLAGS = -mcpu=603e -mmultiple -I/GCCInclude -I/PPCInclude -I/Include" "FPM = -DFPM_PPC -DOPT_ACCURACY -DBUILD_POWERUP"
  62.     $(MAKE) $(PROGNAME)_PUP "CC = m68k-amigaos-gcc" "CFLAGS = -m68040" "FPM = -DBUILD_POWERUP"
  63.     m68k-amigaos-strip --strip-unneeded --remove-section .comment $(PROGNAME)
  64.     -$(MV) $(PROGNAME) $(PROGNAME).pup
  65.     -$(RM) $(LIB_OBJ) $(WRAP_OBJ) $(MAD_OBJ) $(PUP_OBJ) $(STARTUP_OBJ) elfobject.elf elfobject.o
  66.  
  67. clean:
  68.     -$(RM) $(LIB_OBJ) $(WRAP_OBJ) $(MAD_OBJ) $(PUP_OBJ) $(STARTUP_OBJ) elfobject.elf elfobject.o
  69.  
  70.